package xkp.lesson1;

public class 冒泡排序 {
	public static void main(String[] args) {
		int[] arr = {21,45,123,456,12,3,54765,123};
/*		//第一次交换位置
		int[] arr = {21,45,123,12,3,456,123,54765};
		//第二次交换位置
		int[] arr = {21,45,12,3,123,123,456,54765};
		//第三次交换位置
		int[] arr = {21,12,3,45,123,123,456,54765};
		//第四次交换位置
		int[] arr = {12,3,21,45,123,123,456,54765};
		//第五次交换位置
		int[] arr = {3,12,21,45,123,123,456,54765};
		//第六次交换位置
		int[] arr = {3,12,21,45,123,123,456,54765};
		//第七次交换位置
		int[] arr = {3,12,21,45,123,123,456,54765};
		//肯定不需要第8次
		*/
		int[] arr2 =maopao(arr);
		System.out.println(arr2 == arr);
		
		
		for(int i = 0; i < arr.length; i++) {
			System.out.print(arr[i]+"\t");
		}
	}
	
	/**
	 * 冒泡排序
	 * @param arr  需要被排序的数组
	 */
	public static int[] maopao(int[] arr) {
		//i是冒泡的个数
		for(int i = 0; i< arr.length-1; i++) {
			//每个泡要向上冒几次
			//arr.length-1是为了避免arr[j+1]越界
			//减i是为了提高效率，避免不需要的操作
			for(int j = 0; j < arr.length-1-i; j++) {
				if(arr[j]>arr[j+1]) {
					//此处直接操作原数组进行交换
					int temp = arr[j+1];
					arr[j+1] = arr[j];
					arr[j] = temp;
				}
			}
		}
		return arr;
		//冒泡排序后的结果需不需要返回
		//
	}

}
